// ==================== 登录注册表单切换 ====================

$('#showReg').on('click', function () {
    // 显示注册，隐藏登录
    $('.reg-form').show()
    $('.login-form').hide()
})

$('#showLogin').on('click', function () {
    // 显示登录，隐藏注册
    $('.reg-form').hide()
    $('.login-form').show()
})

const form = layui.form
form.verify({
    //我们既支持上述函数式的方式，也支持下述数组的形式
    //数组的两个值分别代表：[正则匹配、匹配不符时的提示文字]
    // pwd 规则的名字
    pwd: [/^[\S]{6,12}$/, '密码必须6到12位，且不能出现空格'],

    // 确认密码 校验规则
    repwd(value) {
        // value 值

        if ($('#pwdInp').val() !== value) {
            return '两次输入的密码不一致'
        }
    },
})

// ==================== ajax请求实现注册功能 ====================
let layer = layui.layer
$('.reg-form').on('submit', function (e) {
    e.preventDefault()

    // 请求中带数据 ==> jQ的serialize方法可以方便的获取到带有name属性的值
    // 一定要给表单元素加 name属性
    let data = $(this).serialize()

    // 语法
    // axios.post(url, data, config).then()

    // ajax请求 ==> jQ里面 $.ajax 方法 ==> axios
    axios.post('/api/reguser', data).then(({ data: { status, message } }) => {
        if (status !== 0) {
            // 注册失败
            // return console.log(message);
            return layer.msg(message)
        }

        // 注册成功
        // console.log("注册成功了");
        layer.msg('注册成功了')

        // 切换到登录界面
        $('#showLogin').click()
    })
})

// ==================== ajax请求实现登录功能 ====================
$('.login-form').on('submit', function (e) {
    e.preventDefault()

    // 收集表单数据
    let data = $(this).serialize()
    // console.log("🚀 ~ file: login.js ~ line 83 ~ data", data);

    axios
        .post('/api/login', data)
        .then(({ data: { status, message, token } }) => {
            if (status !== 0) {
                // 登录失败
                return layer.msg(message)
            }

            /* layer.msg("登录成功，跳转到首页");
        // 跳转页面
        location.href = "/index.html"; */

            // 处理token（本地存储起来，以后要用到，类似随申码）一定要有，否则会有的接口无法请求成功
            localStorage.setItem('token', token)

            // 优化提示效果
            layer.msg(
                '登录成功，即将跳转到首页',
                {
                    time: 2000, //2秒关闭（如果不配置，默认是3秒）
                },
                function () {
                    // 关闭后想做些什么
                    // 跳转页面
                    location.href = '/index.html'
                }
            )
        })
})
